package com.mp.approvalreq.servlet;

import com.alibaba.fastjson.JSONObject;
import com.mp.approvalreq.entity.dto.TemplateInfoDTO;
import com.mp.approvalreq.service.ReadTemplateServicePrx;
import com.mp.approvalreq.util.ServiceUtils;
import com.mp.user.entity.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * 获得公司所有默认模板来生成子模板的次数
 *
 * @author Administrator
 */
@WebServlet("/getTemplateCount")
public class GetMyCompanyOriginTemplateUsedTimes extends AbstractServlet {

    private static final Logger logger = LoggerFactory.getLogger(GetMyCompanyOriginTemplateUsedTimes.class);

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
     throws ServletException, IOException {
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
     throws ServletException, IOException {
        try {
            User user = getReqUser(req);

            ReadTemplateServicePrx readTemplateServicePrx = ServiceUtils.getReadTemplateServicePrx();

            List<TemplateInfoDTO> templates = readTemplateServicePrx.getTemplateCount(user.getCompanyId());

            printResult(resp, templates);
        } catch (Throwable e) {
            onThrowable(req, resp, e);
        }
    }


    private void printResult(HttpServletResponse resp, List<TemplateInfoDTO> templates) throws IOException {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("result", "0");
        jsonObject.put("res_info", "获得成功");
        jsonObject.put("item", templates);

        logger.info(jsonObject.toJSONString());

        printJson(resp, jsonObject.toJSONString());
    }


}
